#ifndef MAPVAR_H
#define MAPVAR_H

/***************************************************************
*************************** ОБЩЕЕ ******************************
***************************************************************/

#define MVAR_Made_Car                    (0)

//------------------------------- Спецвстречи

#define MVAR_ENC_CRY_STATUS              (1) // стадии диалога с фермером Ламонтом

#define MVAR_ENC_SNOW_NUM                (1) // порядковый номер ледяной кучи при её образовании

#define MVAR_ENC_VAULT_GENERATOR         (1) // при 1 генератор восстановлен, при 2 восстановлена система жизнеобеспечения

#define MVAR_ENC_SMUTANT_ALARM           (1) // при -1 мутанты становятся мирными, при 1 влючена боевая сирена
#define MVAR_ENC_SMUTANT_DIALOG          (2) // отвечает за плавающий диалог двух мутантов (при <0 диалог прекращается)
#define MVAR_ENC_SMUTANT_REACTOR         (3) // > 0 реактор уничтожен
#define MVAR_ENC_SMUTANT_DEAD            (4) // > 0 число погибших супермутантов

#define MVAR_ENC_LEGENDCITY_POINT        (1) // очки попаданий по мишеням
#define MVAR_ENC_LEGENDCITY_MUSIC        (2) // текущая музыка - 0 пустыня, 1 akiss

/***************************************************************
*************************** ВИЛЛА ******************************
***************************************************************/

//------------------------------- Спальный район (стартовая карта игры)

#define MVAR_VILLA_BabaDialog            (1) // состоялся диалог с бабулей
#define MVAR_VILLA_Home_Traps            (2) // раскрытие капканов в спальном районе

//------------------------------- Площадь

#define MVAR_Plaza_Meteo                 (1)
#define MVAR_Plaza_SaifPswrd             (2) // пароль Падре от его сейфа в ратуше
#define MVAR_Plaza_MedicMetod            (3) // способ лечения больного: -1 больной умер, 0 не выбрано, 1 лечение навыком, 2 лечение стимулятором, 3 лечение Каррингтоном
#define MVAR_Plaza_DeadBody              (4) // число захороненных трупов из ратуши
#define MVAR_Plaza_Council               (5) // начало Совета общины
#define MVAR_Plaza_OldRespect            (6) // уважение стариков на Совете
#define MVAR_Plaza_PwrArmr               (7) // жители застукали ГГ в силовой броне

//------------------------------- Плантации

#define MVAR_VILLA_MaraudersKnow         (1)


/***************************************************************
************************* ШАКАЛЫ *******************************
***************************************************************/

#define kill_to_ranger_proc              if (global_var(GVAR_JACKALS_RANGER_CONTRAKT) == -2) then begin \
                                            inven_unwield(self_obj);            \
                                            if (item_amnt(self_obj,PID_KEY_JACKALS) > 0) then begin \
                                            create_object_sid(PID_KEY_JACKALS, self_tile+1, self_elevation, -1); \
                                            end                                 \
                                            selfBarterBoxGener                  \
                                            move_obj_inven_to_obj(self_obj,selfBarterBoxObj); \
                                            if type_kill(KILL_TYPE_children) then begin \
                                            end                                 \
                                            else begin                          \
                                            inc_global_var(GVAR_JACKALS_DEAD);  \
                                            end                                 \
                                            kill_critter(self_obj, random(ANIM_fall_back_blood_sf,ANIM_fall_front_blood_sf)); \
                                         end                                    \

//------------------------------- Логово

#define MVAR_Jkls_Dopusk                 (1) // допуск в норы Шакалов: -1 - гоним шакалами, 0 - не имеет, 1 - получен
#define MVAR_JKLS_TRAPS_VSBL             (2) // убирает ловушки с карты после зключения союза шакалов с рейнджерами
#define MVAR_JKLS_Merc_Life              (3) // число еще живых налетчиков из Гараж-Сити
#define MVAR_Jkls_Relict                 (4) // генерация Древней реликвии в тотеме
#define MVAR_Jkls_ROPE                   (5) // появление веревки на уровне складов после спуска с внешнего уровня

/***************************************************************
************************** ГАРАЖ-СИТИ **************************
***************************************************************/

//------------------------------- Гараж

#define MVAR_GARAGE_BARTER               (1)
#define MVAR_GARAGE_BAR_PUT              (2) // фиксирует, что ГГ напоил приставал в баре
#define MVAR_GARAGE_BAR_COMBAT           (3) // взаимодействие с приставалой в баре:
                                                /*
                                                -1 - ГГ мирно разрешил конфликт с приставалами,
                                                0 - приставалы нейтральны к ГГ,
                                                1 - сигнал приставалам заговорить с ГГ и затребовать выпивку,
                                                2 - приставалы ждут от ГГ действий или выпивки,
                                                3 - ГГ затеял драку в баре
                                                4 - ГГ убил приставалу
                                                */
#define MVAR_GARAGE_MOTEL_DAY            (4) // оставшееся время обслуживания номера в мотеле
#define MVAR_GARAGE_QSTBRAHMIN           (5) // старт для квеста на браминов
#define MVAR_GARAGE_MOTEL_BOYS           (6) // статус насильников в мотеле: <0 мертвы или атакуют, 0 - не определено, 1 - покидают мотель мирно

//------------------------------- Лачуги

#define MVAR_GARAGE_EUGENE_QST           (1)
#define MVAR_GARAGE_TRAYVON_ATACK        (2) // статус атаки Трейвона на людей Лукаса: 0 - статус не определен, 1 - Трейвон отпускает заложников, 2 - Трейвон нападает на заложников
#define MVAR_GARAGE_INFOFLAG             (3) // инфотригер в общежитии
#define MVAR_GARAGE_APPARAT_KNOW         (4) // ГГ узнал про аппарат от слов деда с игуанами (после переписи квеста в версии #30 не используется)

//------------------------------- Завод

#define MVAR_GARAGE_ROBOTS               (1) // роботы на Заводе: 0 - причислены к группе Лукаса, 1 - причислены к группе ГГ
#define MVAR_GARAGE_LUCAS_ENEMY          (2) // отношение людей Лукаса к ГГ (соответствует параметрам set_critter_options)

//------------------------------- Лагерь скотоводов

#define MVAR_GARAGE_BRAM_HEX             (1) // гекс текущего расположения брамина

//------------------------------- Трасса 66

#define MVAR_GARAGE_AMNT_CRVN            (1)
#define MVAR_GARAGE_AMNT_COGN            (2)
#define MVAR_GARAGE_AMNT_BAND            (3)
#define MVAR_GARAGE_TRADE_STATUS         (4) // -1 - враги сошлись в битве, 0 - не определен, 1 - Лукас мирно покинул карту, 2 - Коган мирно покинул карту
#define MVAR_GARAGE_TILE_CRVN            (5) // точка перед караванщиком куда подходит участник сделки во финального квеста локации

#define TILE_CRVN                        map_var(MVAR_GARAGE_TILE_CRVN)

//------------------------------- Трейлер

#define MVAR_GARAGE_TRILER_FIRE          (1) // текущее число костров для отпугивания койотов

/***************************************************************
************************** ФЛАГПУЛ *****************************
***************************************************************/

//------------------------------- Колония

#define MVAR_SlavStoryA                  (1) // Статус хозяина раба: -1 - мертв, 0 - жив и стоит на улице, 1 - жив и ушел домой
#define MVAR_SlavStoryB                  (2) // Статус раба: -1 - мертв, 0 - жив
#define MVAR_FLAG_PostSlav               (3) // Статус нападающего на почтовую службу: -1 - мертв, 0 - не активен, >0 - передача номера гекса
#define MVAR_FLAG_GameStatus             (4) // Статус игрального автомата: -1 - уничтожен, 0 - не работает, 1 - ГГ ознакомился с автоматом, 2 - работает, 3 - ГГ обыграл автомат
#define MVAR_FLAG_Huligan                (5) // Статус хулигана в баре: 0 - не определен, 1 - ГГ побил его в честной драке, 2 - ГГ убил его в честной драке
#define MVAR_FLAG_CitiznB                (6) // Статус колониста-скептика: -1 - погиб, 0 - не определен, 1 - ГГ застал его врасплох, 2 - пришел с повинной
#define MVAR_FLAG_Arizona                (7) // появление флага Аризоны в баре: 0 - не появился, 1 - повешен на стене
#define MVAR_FLAG_Vor                    (8) // 1 - ГГ узнал кто вор, 2 - пропажа сгенерирована на карте

//------------------------------- Гарнизон

#define MVAR_RoyDopusk                   (1) // Допуск в загон с рабами: 0 - не получен, 1 - получен
#define MVAR_Freedom_Villa               (2) // Свобода рабам Виллы от Надзирателя: 0 - не дана, 1 - дана
#define MVAR_DoorSlavActiv               (3) // Активация двери ведущей в загон с рабами
#define MVAR_RadioSlave                  (4) // Управление ошейниками с радио наемников: 0 - включено, 1 - отключено
#define MVAR_UmnikDialog                 (5) // Информация о ГГ от Умника: 0 - не известна, 1 - заложил Фаберу, 2 - Фабер рассказал ГГ, 3 - ГГ разнес Умника
#define MVAR_DolgSten                    (6) // Получение разрешения у Фабера на драку со Стеном
#define MVAR_SlavVillaRun                (7) // Рабы из Флагпула приобщаются к ГГ: 0 - не приобщены, 1 - приобщены

//------------------------------- Шахта (снаружи)

#define MVAR_FLAG_SlavMineDlg            (1) // ГГ поговорил с раненным рабом про надзирателя
#define MVAR_FLAG_EVIL_WARDEN            (2) // статус Кнута: <0 - мертв, 0 - жив, >0 - добровольно покинул свой пост
#define MVAR_FLAG_ATTAK_WARDEN           (3) // при >0 два надзирателя атакуют друг друга

//------------------------------- Шахта (под землей)

#define MVAR_FLAGMINE_MAP_SOLAR          (1) // бонус освещения: 0 - не задан, 1 - задан (точные изменения записаны в скрипте ZTMap, процедура map_light_proc)
#define MVAR_FLAGMINE_RAT_EXP            (2) // служит для расчета урона, получаемого королем крыс от электрической ловушки (иначе опыт не начисляется)
#define MVAR_FLAG_RatKingVsbl            (4) // обнаружение крысиного короля: 0 - невидим, 1 - видим

//------------------------------- Заброшенный район (музей)

#define MVAR_FLAGMUS_TRAPS_VSBL          (1) // показал ли рейнджер ловушки на локации: 0 - нет, 1 - да
#define MVAR_FLAGMUS_BONES_BONUS         (2) // обнаружение бонуса у подножия скелета в музее

//------------------------------- Захваченная ферма

#define MVAR_FLAG_RAIDERS_LIFE           (1) // число ещё живых захватчиков
#define MVAR_FLAG_RAIDERS_RUNS           (2) // рейдеры уходят с фермы
#define MVAR_FLAGFARM_TRAPS_VSBL         (3) // отображение ловушек на карте: 0 - нет, 1 - да

//------------------------------- Лагерь охотников Уайнон

#define MVAR_FLAG_WINON_TOTEMS           (1) // число уничтоженных тотемов
#define MVAR_FLAG_WINON_RUNSAVAGE        (2) // (устарел и не используется, см GVAR_FLAGSTAFF_STATUS_SAVAGE) обращение дикарей в бегство
#define MVAR_FLAG_WINON_TRAPS_VSBL       (3) // отображение капканов на локации
#define MVAR_FLAG_WINON_TRAPER_DLG       (4) // (устарел и не используется) 1 - фиксирует первый диалог с охотниками
#define MVAR_FLAG_WINON_SAVAGE_LIFE      (5) // число еще живых дикарей на локации (начисляется при первой загрузке карты, затем понижается при смерти дикарей)

/***************************************************************
************************** РЕЙНДЖЕРЫ ***************************
***************************************************************/

//------------------------------- Дорога к дамбе

#define MVAR_RNGRS_RprTank               (1) // Починка водосборника фермеров: 0 - поврежден, 1 - отремонтирован
#define MVAR_RNGRS_DogGrv                (2) // Обнаружение собачей могилы: 0 - не обнаружена, 1 - обнаружена

//------------------------------- Поселение у дамбы

#define MVAR_RNGRS_PostA               (1) // Статус часового 1: 0 - жив, 1 - мертв
#define MVAR_RNGRS_PostB               (2) // Статус часового 2: 0 - жив, 1 - мертв
#define MVAR_RNGRS_Presly              (3) // вспомогательная переменная для квеста курсанта Пресли: 1 - состоялся разговор с кадетом, 2 - состоялся разговор с Агатой, 3 - ГГ вызвался помочь кадету

//------------------------------- Дамба

#define MVAR_RNGRS_JclTalk               (1) // Разговор после союза с Шакалами: 0 - не состоялся, 1 - начат, 2 - завершен
#define MVAR_RNGRS_JclTalkMsg            (2) // Номер реплики в разговоре между рейнджером и генералом на тему союза с Шакалами
#define MVAR_RNGRS_RprDum                (3) // Починка распределителя на дамбе: 0 - поврежден, 1 - отремонтирован
#define MVAR_RNGRS_Councilium            (4) // Совет полевых командиров по сюжету: 0 - не начат, 1 - начат, 2 - завершен

//------------------------------- Акведук

#define MVAR_RNGRS_StatAcv               (1) // статус выжившего беженца в Акведуке: -1 - мертв, 0 - жив, 1 - бежал
#define MVAR_RNGRS_GartAcv               (2) // предложение беженца по ликвидации Гарта: 0 - не принято или обнулось, 1 - принято

//------------------------------- Радиостанция

#define MVAR_RNGRS_RELICT_NUM            (1) // номер могилы, в которой окажется древняя реликвия

//------------------------------- Переправа

#define MVAR_RNGRS_kid_tile              (1) // номер тайла, на котором погиб ребенок беженки

//------------------------------- Кварц

#define MVAR_Quartz_Point                (1) // число имеющихся на карте маркеров для изучения
#define MVAR_Quartz_GhoulDead            (2) // число убитых Обезумевших

//------------------------------- Водокачка Мохаве

#define MVAR_RNGRS_MohaveEnm             (1) // агрессия бандитов (равня параметру set_critter_options)

/***************************************************************
************************** САН-БРАМИН **************************
***************************************************************/

//------------------------------- Стартовый район

#define MVAR_BRAHMIN_Attak               (1) // старт общей атаки дикарей и миссионеров

//------------------------------- Поселение скотоводов

#define MVAR_BRAHMIN_RprRoll             (1) // Починка сломанной телеги
#define MVAR_BRAHMIN_Scena               (2) // При !=0 состоялся диалог с шаманом на площади
#define MVAR_BRAHMIN_Garage              (3) // квест торгового маршрута в ГаражСити: 0 - нет, 1 - задача спросить вождя, 2 - получено разрешение
#define MVAR_BRAHMIN_FIRST_AID           (4) // число вылеченных жителей

//------------------------------- Загоны браминов

#define MVAR_BRAHMIN_GOO_BRAM            (1) // число экскрементов в браминьих загонах (при <=0 говна нет)
#define MVAR_BRAHMIN_CHILD_VIS           (2) // появление детей в Загонах по квесту Эль Монстро

//------------------------------- Погребенный Город

#define MVAR_BRAHMIN_CHILD_RUN           (1) // <0 - ГГ стал врагом детей, >0 - приобщение детей в подземке к партии ГГ
#define MVAR_BRAHMIN_CHILD_KNOW          (2) // состоялся первый диалог с потерянными детьми

//------------------------------- Защита каравана

#define MVAR_BRAHMIN_CARAVAN_BRAM        (1) // текущее число браминов на карте

#define brahminCaravanEnemyCount         if (map_first_run == true) then begin \
                                             if ((cur_map_index == MAP_SB_CARAVAN_A) or (cur_map_index == MAP_SB_CARAVAN_B) or (cur_map_index == MAP_SB_CARAVAN_C)) then begin \
                                             inc_global_var(GVAR_BRAHMIN_QST_CARAVAN_ENEMY); \
                                             end \
                                         end \

#define brahminCaravanEnemyDead          if ((cur_map_index == MAP_SB_CARAVAN_A) or (cur_map_index == MAP_SB_CARAVAN_B) or (cur_map_index == MAP_SB_CARAVAN_C)) then begin \
                                             dec_global_var(GVAR_BRAHMIN_QST_CARAVAN_ENEMY); \
                                         end \

#define brahminCaravanAttak              if ((cur_map_index == MAP_SB_CARAVAN_A) or (cur_map_index == MAP_SB_CARAVAN_B) or (cur_map_index == MAP_SB_CARAVAN_C)) then begin \
                                             if (self_visible == true) then begin \
                                             if (obj_critter_a > 0) then begin \
                                             attack(obj_critter_a); \
                                             end \
                                             end \
                                         end \

#define brahminCaravanBramDead           if ((cur_map_index == MAP_SB_CARAVAN_A) or (cur_map_index == MAP_SB_CARAVAN_B) or (cur_map_index == MAP_SB_CARAVAN_C)) then begin \
                                             inc_global_var(GVAR_BRAHMIN_QST_CARAVAN_DEADBRAM); \
                                         end \

#define brahminCaravanDudeEnemy          if ((cur_map_index == MAP_SB_CARAVAN_A) or (cur_map_index == MAP_SB_CARAVAN_B) or (cur_map_index == MAP_SB_CARAVAN_C)) then begin \
                                             if (source_obj == dude_obj) then begin \
                                                inc_global_var(GVAR_BRAHMIN_QST_CARAVAN_DUDEENEMY); \
                                             end \
                                         end \


/***************************************************************
*************************  ФИНИКС  ****************************
***************************************************************/

//------------------------------- Городские Ворота

#define MVAR_PNX_REFUGEE_DIALOG          (1) // 0 - не определено, 1 - завершено

//------------------------------- Бизнес-центр

#define MVAR_PNX_CASINO_STOP             (1) // статус игры в казино: 0 - не запрещена, 1 - запрещена по любой причине
#define MVAR_PNX_GUNSSHOP_STOP           (2) // сигнал гопстопщикам у магазина оружия: 0 - скрыться, 1 - появиться
#define MVAR_PNX_MARACAS                 (3) // результат взаимодействия с девочкой с маракасами: -1 - ГГ отнял у нее крышки, 0 - ничего, 1 - ГГ дал ей крышек
#define MVAR_PNX_BARTER_A                (4) // статус оружейного магазина: -1 - закрылось, 0 - работает
#define MVAR_PNX_BARTER_B                (5) // статус лавки барахольщика: -1 - закрылось, 0 - работает
#define MVAR_PNX_BARTER_C                (6) // статус лавки одежды: -1 - закрылось, 0 - работает
#define MVAR_PNX_BARTER_D                (7) // статус закусочной: -1 - закрылось, 0 - работает
#define MVAR_PNX_ROULETTE                (8) // повышение шансов на игру в рулетку (задается точное число в процентах)
#define MVAR_PNX_CASINO_LUX              (9) // при >0 фиксирует, что ГГ законно получил допуск в номер-люкс (после выигрыша или как подарок от дона Диего)
#define MVAR_PNX_CASINO_PSWD            (10) // при >0 фиксирует свободный допуск в закрытую часть казино
#define MVAR_PNX_CASINO_BACK            (11) // тригер прохода в закрытую часть казино, при >0 фиксирует, что ГГ прошел запрещенную позицию
#define MVAR_PNX_LLOYD_STATUS           (12) // статус Ллойда: -11 и -10 - убит грабителем, -1 - мертв при иных обстоятельствах, 0 - жив

#define killCasinoRepCity(rep)          if (source_obj == dude_obj) then begin   \
                                        set_CITY_REP(GVAR_TOWN_REP_PHOENIX,rep)  \
                                        end                                      \

//------------------------------- Трущобы

#define MVAR_PNX_RING_START              (1) // статус боя на арене: 0 - пассив, 1 - актив
#define MVAR_PNX_BNDCS_FEMALY            (2) // статус семьи в трущобах: -1 - один из членов семьи погиб, 0 - не определен, 1 - ГГ поговорил с одним из членов семьи
#define MVAR_PNX_MOTO_STATUS             (3) // статус байка и бандитов: 0 - конфликт не начался, 1 - байк на месте, но бандитов нет, 2 - бандиты захватили байк
#define MVAR_PNX_CARDINALS_DOPUSK        (4) // допуск к базе Кардиналов: <0 - допуск запрещен, 0 - нет допуска, >0 - допуск получен
#define MVAR_PNX_CARDINALS_ATTAK         (5) // >0 Мерфи и Оррис нападают друг на друга
#define MVAR_PNX_BAIK_KILLER             (6) // >0 ГГ убил грабителей байка на парковке
#define MVAR_PNX_LARRY_STOP              (7) // >0 пушер больше не продает наркоту наркоману Ларри
#define MVAR_PNX_LOH_HOME                (8) // <0 0 должник квартплаты погиб, 0 должник на месте, 1 должник выселен на улицу, 2 должник оплатил квартплату
#define MVAR_PNX_RING_BODY               (9) // указатель на тело поверженного врага при уходе ГГ с ринга
#define MVAR_PNX_TRENER_INFO            (10) // 1 ГГ узнает причину по которой Майк не берет учеников
#define MVAR_PNX_CARDINALS_ENEMY        (11) // ГГ стал врагом обычных кардиналов

//------------------------------- Собор Огня (снаружи)


//------------------------------- Собор Огня (интерьер)

#define MVAR_PNX_CULT_MAP_SOLAR          (1) // 0 - освещение включено, 1 - освещение отключено
#define MVAR_PNX_CULT_MANY_BOX           (2) // на 1 фиксирует факт взлома ящика для пожертвований
#define MVAR_PNX_CULT_SPY_BOOKS          (3) // на 1 фиксирует, что ГГ узнал о Матфее через свитки в библиотеке
#define MVAR_PNX_CULT_SPY_RADIO          (4) // на 1 фиксирует, что ГГ узнал о передаче шпионом данных через радиостанцию
#define MVAR_PNX_CULT_SPY_SHRIFT         (5) // признание шпиона: 0 - диалог не состоялся, 1 - шпион размещается в молебную, 2 - состоялся диалог со шпионом в молебной

//------------------------------- Убежище 25

#define MVAR_PnxVlt_Alarm                (1) // 0 - тревога отключена, 1 - тревога включена
#define MVAR_PnxVlt_Dopusk               (2) // 0 - ГГ не получил легальный доступ в убежище (или он был аннулирован), 1 - доступ получен
#define MVAR_PnxVlt_OwrTrap              (5) // Активность ловушек в коридоре Смотрителя: 0 - отключены, 1 - включены

//------------------------------- Руины

#define MVAR_PNX_RUINS_SPY               (1) // 0 - запрет на встречу с узником, 1 - допуск к узнику
#define MVAR_PNX_MAP_INFO                (2) // 0 - приветственное сообщение при заходе на карту

//------------------------------- АЭС

#define MVAR_PNX_PLANT_DOPUSK            (1) // <0 - допуск на станцию запрещен, >0 - получен допуск для прохода на станцию
#define MVAR_PNX_PLANT_PRESENT           (2) // >0 - ГГ доступна награда у интенданта
#define MVAR_PNX_PLANT_VENTIL            (3) // >0 - изолирован воздух в контрольной комнате
#define MVAR_PNX_PLANT_MAP_SOLAR         (4) // поправка к освещению нижнего уровня

//------------------------------- Склад ядер-колы

#define MVAR_PHX_COLA_ROBOT              (1) // >0 - отключение враждебности местных роботов


/***************************************************************
************************ СТАРЫЙ МОТЕЛЬ *************************
***************************************************************/

//------------------------------- Парковка

#define MVAR_MOTEL_BRTHR                 (1) // число погибших братьев
#define MVAR_MOTEL_GATEOPEN              (2) // факт открытия ворот
#define MVAR_MOTEL_DOORCOLCLS            (3) // дверь морозильной камеры (соответствует значениям obj_is_open)
#define MVAR_MOTEL_DIALOGMIGRANT         (4) // факт диалог с одним из поселенцев

#define TILE_MOTEL_COLD_ROOM             17469 // территория морозильной камеры
#define TILE_MOTEL_COLD_DOOR             17870 // дверь морозильной камеры
#define PID_MOTEL_DOOR_COLD              33555333 // PID двери морозильной камеры

#define objDoorCool                      tile_contains_pid_obj(TILE_MOTEL_COLD_DOOR,0,PID_MOTEL_DOOR_COLD) // указатель на дверь морозильной камеры

#define kill_to_motel_proc               if ((tile_distance(self_tile,TILE_MOTEL_COLD_ROOM)<=3) and (obj_is_open(objDoorCool) == 0)) then begin \
                                            inven_unwield(self_obj);            \
                                            call destroy_p_proc;                \
                                            display_msg(g_mstr(512)+self_name+g_mstr(513)); \
                                            kill_critter(self_obj, random(ANIM_fall_back_sf,ANIM_fall_front_sf)); \
                                         end                                    \


/***************************************************************
************************ УБЕЖИЩЕ 27 ****************************
***************************************************************/

//------------------------------- Парковка

//#define MVAR_Made_Car                    (0)

//------------------------------- Убежище

#define MVAR_Vault_Music                 (1) // включение музыки для обмана гулей
#define MVAR_Vault_DoorX                 (2) // открытие двери к посту смотрителя

/***************************************************************
************************ КАСА-ГРАНДЕ ***************************
***************************************************************/

//------------------------------- Водяная станция

#define MVAR_CGRANDE_WATER_ATTAK_A      (1) // -2 - нападение предотвращено, -1 - нападение окончено, 0 - ничего, 1 - инициация нападения жителя на водного торговца
#define MVAR_CGRANDE_WATER_ATTAK_B      (2) // статус нападающего: -2 - убит руками ГГ, -1 - убит не руками ГГ, 0 - жив, 1 - говорит с торговцем или идет к нему, 2 - нападает на торговца
#define MVAR_CGRANDE_WATER_REPAIR       (3) // статус водяного насоса: 0 - не починен, 1 - починен

//------------------------------- Ратуша

#define MVAR_CGRANDE_REPAIR_LAMP        (1) // факт починки уличного фонаря возле ратуши
#define MVAR_CGRANDE_SAIF_CODE          (2) // ГГ узнал код от сейфа
#define MVAR_CGRANDE_PRISON_FREE        (3) // >0 - свобода заключенному

//------------------------------- Могильник

#define MVAR_CGRANDE_CHIP_GRAVE         (1) // инициирует появление рейнджера после раскопок могилы с чипом
#define MVAR_CGRANDE_GRAVE_FAIL         (2) // номер могилы, которая окажется с обвалом в подвал
#define MVAR_CGRANDE_GRAVE_FAILNUM      (3) // используется для подсчета MVAR_CGRANDE_GRAVE_FAIL

//------------------------------- Бар

#define MVAR_CGRANDE_BAR_RDR            (1) // отношение магистралов к ГГ (соответствует параметру set_critter_options)
#define MVAR_CGRANDE_BAR_MER            (2) // отношение мэра и телохранителей к ГГ (соответствует параметру set_critter_options)
#define MVAR_CGRANDE_BAR_PARTY          (3) // 0 - дочь не в партии ГГ, 1 - дочь мэра в партии ГГ, 2 - дочь мэра достигла безопасного места
#define MVAR_CGRANDE_BAR_ATTAK          (4) // >0 - сигнал к атаке в баре
#define MVAR_CGRANDE_BAR_RUN            (5) // >0 - ГГ уговорил рейдеров покинуть бар и освободить заложника
#define MVAR_CGRANDE_BAR_RDRLIFE        (6) // число еще живых рейдеров (-100, если рейдеры ушли из локации)

//------------------------------- Тайник магистралов

#define MVAR_CGRANDE_ROADWAR_PSHL       (1)

/***************************************************************
************************ МАГИСТРАЛЬЩИКИ ************************
***************************************************************/

//------------------------------- Перегонная станция Петро-Чико

#define MVAR_CAR_PRESENT                (1) // 0 - байк не был подарен ГГ, 1 - ГГ получил байк в награду
#define MVAR_ROADWAR_DOPUSK             (2) // допуск ГГ на базу: <0 запрещен, 0 не разрешен, 1 получен
#define MVAR_ROADWAR_TRAPS_VSBL         (3) // убирает ловушки с карты после зключения союза шакалов с рейнджерами
#define MVAR_ROADWAR_TILE_BOSS          (4) // хранит место, куда надо перемещать ГГ при переходе к лидеру через часового
#define MVAR_ROADWAR_BOYS               (5) // стадии развития конфликта между рейдерами в бараке
#define MVAR_ROADWAR_TILE_BOY_A         (6) // находится ли первый рейдер в бараке на исходной позиции
#define MVAR_ROADWAR_TILE_BOY_B         (7) // находится ли второй рейдер в бараке на исходной позиции

/***************************************************************
************************ ТУ-САН ********************************
***************************************************************/

//------------------------------- Поселение

#define MVAR_TWOSUN_MedicQst             (1) // -1 - ГГ отравил больного, 0 - ГГ еще не предпринял действий, 1 - ГГ вылечил больного жестянщика
#define MVAR_TWOSUN_Dopusk               (2) // получил ли ГГ допуск внутрь от привратника: 0 - нет, 1 - да
#define MVAR_TWOSUN_CaravanPompa         (3) // рекомендация караванщикам от крестьянина: 0 - не получена, 1 - получена
#define MVAR_TWOSUN_CultDed              (4) // статус огнепоклонника-делегата: -1 - убит на месте, 0 - статус не определен, 1 - убит жестянщиками и вывешан на обозрение

//------------------------------- Мастерская

#define BoxObjAngarPompa                 tile_contains_pid_obj(16710,0,251) \

#define MVAR_TWOSUN_AgentKnow            (1) // -1 - агент мертв, 0 - не определено, 1 - ГГ поговорил с агентом БС, 2 - ГГ поговорил об агенте с Хардом, 3 - финальный диалог с агентом, после чего тот исчезает

//------------------------------- Могильник списанной техники

#define MVAR_TWOSUN_PartyPadre           (1) // 1 - падре приобщен к партии
#define MVAR_TWOSUN_PartyVill            (2) // 1 - Херардо приобщен к партии
#define MVAR_TWOSUN_PartyGhoul           (3) // 1 - раб-гуль приобщен к партии
#define MVAR_TWOSUN_BARIER               (4) // 1 - силовой барьер отключен

//------------------------------- Бункер ZAX

#define MVAR_TWOSUN_ZAX_SOLAR            (1) // 0 - тревога отключена, 1 - тревога включена
#define MVAR_TWOSUN_ZAX_TRAP             (2) // 0 - ловушки активны, 1 - ловушки дезактивированы

//------------------------------- Старый Город (Руины Тусона)

#define MVAR_TsnBank_TrapVsbl            (2) // отображение ловушек на карте

/***************************************************************
************************ КАСА-НУЭВA ***************************
***************************************************************/

//------------------------------- Поселение

#define MVAR_NUEVA_MER_DIALOG            (1) // !=0 - ГГ поговорил с мэром хотя бы раз
#define MVAR_NUEVA_MER_ROSAKNOW          (2) // >0 - ГГ в разговоре с мэром о пропаже людей сдал Розалию, <0 - ГГ провел диалог, но не выдал Розилию
#define MVAR_NUEVA_CURFEW                (3) // число задержаний ГГ в комендантский час
#define MVAR_NUEVA_WATERFLASK            (4) // ГГ дал воды человеку у позорного столба

//------------------------------- Теплицы (эктерьер)

#define MVAR_NUEVA_LAB_DOCS_DISC         (1) // !=0 - ГГ получил документацию в лабораторном компьютере

//------------------------------- Теплицы (интерьер)

#define MVAR_NUEVA_LAB_CLIMAT_A          (1) // !=0 - ГГ запустил вентиляцию на уровне 1 (купол)
#define MVAR_NUEVA_LAB_CLIMAT_B          (2) // !=0 - ГГ запустил вентиляцию на уровне 2 (теплица справа)
#define MVAR_NUEVA_LAB_CLIMAT_C          (3) // !=0 - ГГ запустил вентиляцию на уровне 3 (теплица слева)
#define MVAR_NUEVA_LAB_MANTIS_GENER      (4) // !=0 - Обращенный призвал мантиса на помощь в бою (обнуляется когда мантис или Обращенный погибнет)
#define MVAR_NUEVA_LAB_MANTIS_COUNT      (5) // хранит количество сгенерированных в бою мантисов

/***************************************************************
************************ САНТА АНА *****************************
***************************************************************/

//------------------------------- Поселение

#define MVAR_SANTA_DIALOG                (1) // число проведенных диалогов по квесту GVAR_SANTAANA_QST_DIALOG
#define MVAR_SANTA_BOSS_ATTAK            (2) // инициация драки со старостой в церкви
#define MVAR_SANTA_MEAT_TILE             (3) // тайл для перемещения Эль Диабло к месту сброса мяса

#define dialog_qst_SANTA                 if (getQuest(GVAR_SANTAANA_QST_DIALOG) == qStart) then begin \
                                            inc_map_var(MVAR_SANTA_DIALOG); \
                                            display_msg(message_str(SCRIPT_CCBoss,103)+map_var(MVAR_SANTA_DIALOG)+message_str(SCRIPT_CCBoss,104)); \
                                            if (map_var(MVAR_SANTA_DIALOG) >= 3) then begin \
                                            set_CITY_REP(GVAR_TOWN_REP_SANTA_ANA,2) \
                                            exp_add(200); \
                                            setQuest(GVAR_SANTAANA_QST_DIALOG, qEnd); \
                                            end \
                                         end

#define stop_santa_fiesta                if (self_elevation == 0) then begin \
                                            if (global_var(GVAR_SANTAANA_STATUS_FIESTA) < 10) then begin \
                                            set_global_var(GVAR_SANTAANA_STATUS_FIESTA, -1); \
                                            end \
                                         end \

/***************************************************************
************************ ИНФЕРНО *******************************
***************************************************************/

//------------------------------- Спальный район

#define MVAR_INF_MUSIC_PLAY              (1) // включение музыкального автомата в баре
#define MVAR_INF_TOTEM_D                 (2) // на тотеме использован распылитель мутагена

//------------------------------- Супермаркет

#define MVAR_INF_FAIR_SIGNAL             (1) // включение пожарной сигнализации в супермаркете
#define MVAR_INF_SHOP_TrapVsbl           (2) // ловушки Паладина в канализации
#define MVAR_INF_TOTEM_C                 (3) // на тотеме использован распылитель мутагена

//------------------------------- Полиц участок

#define MVAR_INF_TOTEM_B                 (1) // на тотеме использован распылитель мутагена

//------------------------------- Таинственный Особняк

#define MVAR_INF_PWR_ADD                 (1) // факт приобретения силовой брони
#define MVAR_INF_DOPUSK                  (2) // друск в храм: -1 воспрещен, 0 - не получен, 1 - получен
#define MVAR_INF_TOTEM_A                 (3) // на тотеме использован распылитель мутагена
#define MVAR_INF_PWR_KNOW                (4) // ГГ узнал про силовую броню в подвале (поюзав ее или обговорив с кем-то на локации)

/***************************************************************
************************ ПУЭРТО *******************************
***************************************************************/

#define BarklyAttakDude                  if (partyPidBos!=0) then begin \
                                         add_timer_event(partyPidBos, 0, 666); \
                                         end                            \

//------------------------------- Док

#define MVAR_PUERTO_PATRLBOSS_DEAD       (1) // <0 начальник патруля Латам погиб

//------------------------------- Эсминец (верхняя, средняя и нижняя палубы)

#define MVAR_PUERTO_SLAVE_DIALOG         (1) // состоялся разговор с заключенным драющим палубу
//#define MVAR_PUERTO_SKLAD_DOPUSK         (2) // не актуально, заменено на GVAR
#define MVAR_PUERTO_MEDIC_FLOAT          (3) // стадии плавающего диалога между пациентом и врачом в лазарете
#define MVAR_PUERTO_ALARM_A              (4) // сигнал тревоги в торпедном отсеке
#define MVAR_PUERTO_ALARM_BOS            (5) // сигнал тревоги в кабинете генерала
#define MVAR_PUERTO_ALARM_SCLAD          (6) // сигнал тревоги на складе интенданта

//------------------------------- Каборка

#define MVAR_PUERTO_CAMP_RADIO           (1) // номер тайла, на который уходит командир после починки радио

/***************************************************************
************************ ЭРМОСИЛЬО ****************************
***************************************************************/

//------------------------------- Ранчо

#define MVAR_HERMO_Runcho_Enemy          (1) // враждебность семейки на ранчо (соответствует параметрам set_critter_options)

//------------------------------- Казармы

#define MVAR_HERMO_ALARM_A               (1)
#define MVAR_HERMO_SOLAR_A               (2)

#endif
